RDS for PostgreSQL メジャーバージョンアップグレード後に CPU 使用率が高くなる事象の対処方法
困っていた内容
RDS for PostgreSQL のメジャーバージョンアップグレード後に、CPU 使用率が 100 %になります。どうすれば CPU の負荷を下げることができるでしょうか?
どう対応すればいいの?
RDS for PostgreSQL メジャーバージョンアップグレード後の CPU 使用率を下げるには、ANALYZE 操作で統計情報の更新を行ってください。
PostgreSQL はメジャーバージョン更新時に統計情報が移行されません。そのため、アップグレード後の実行計画がボトルネックとなり、CPU 使用率高騰の可能性があります。
AWS ドキュメントでは、RDS PostgreSQL の DB インスタンスをアップグレードする手順が完了した後、以下の操作を実行することを推奨しています。
メジャーバージョンのアップグレードが完了したら、次のことをお勧めします。
- pg_statistic テーブルを更新する ANALYZE 操作を実行します。
Amazon RDS が DB エンジンアップグレードで使用する pg_upgrade ユーティリティのドキュメントでも、統計情報は転送されないことが明記されています。
Statistics
Because optimizer statistics are not transferred by pg_upgrade, you will be instructed to run a command to regenerate that information at the end of the upgrade. You might need to set connection parameters to match your new cluster.